package request

import "github.com/gookit/validate"

type RoomPageInfo struct {
	Page     int    `json:"page" form:"page"`         // 页码
	PageSize int    `json:"pageSize" form:"pageSize"` // 每页大小
	Keyword  string `json:"keyword" form:"keyword"`   //关键字
	//Status   int8   `json:"status" gorm:"not null;default:1;comment:0 未发布 1 发布"`
}

type RoomPageInfoList struct {
	Keyword string `json:"keyword" form:"keyword"` //关键字
	//Status   int8   `json:"status" gorm:"not null;default:1;comment:0 未发布 1 发布"`
}

type StatusReq struct {
	ID    uint   `json:"id"`
	Value int8   `json:"value"`
	Field string `json:"field"`
}

type BindPoolContext struct {
	RoomId  uint   `json:"room_id" validate:"required"`
	PoolIds string `json:"pool_ids" validate:"required"`
}

// Messages 您可以自定义验证器错误消息
func (f BindPoolContext) Messages() map[string]string {
	return validate.MS{
		"required": "{field}不能为空",
	}
}

// Translates 你可以自定义字段翻译
func (f BindPoolContext) Translates() map[string]string {
	return validate.MS{
		"RoomId": "房间ID",
		"poolId": "冷池ID",
	}
}

type BindBasisContext struct {
	RoomId   uint   `json:"room_id" validate:"required"`
	BasisIds string `json:"basis_ids" validate:"required"`
}

// Messages 您可以自定义验证器错误消息
func (f BindBasisContext) Messages() map[string]string {
	return validate.MS{
		"required": "{field}不能为空",
	}
}

// Translates 你可以自定义字段翻译
func (f BindBasisContext) Translates() map[string]string {
	return validate.MS{
		"RoomId":   "房间ID",
		"BasisIds": "基础项ID",
	}
}

type BindDeviceContext struct {
	RoomId             uint   `json:"room_id" validate:"required"`
	ImportantDeviceIds string `json:"important_device_ids" validate:"required"`
}

// Messages 您可以自定义验证器错误消息
func (f BindDeviceContext) Messages() map[string]string {
	return validate.MS{
		"required": "{field}不能为空",
	}
}

// Translates 你可以自定义字段翻译
func (f BindDeviceContext) Translates() map[string]string {
	return validate.MS{
		"RoomId":             "房间ID",
		"ImportantDeviceIds": "重要设备ID",
	}
}

type BindPortContext struct {
	RoomId           uint   `json:"room_id" validate:"required"`
	ImportantPortIds string `json:"important_port_ids" validate:"required"`
}

// Messages 您可以自定义验证器错误消息
func (f BindPortContext) Messages() map[string]string {
	return validate.MS{
		"required": "{field}不能为空",
	}
}

// Translates 你可以自定义字段翻译
func (f BindPortContext) Translates() map[string]string {
	return validate.MS{
		"RoomId":           "房间ID",
		"ImportantPortIds": "重要端口ID",
	}
}
